home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / NEWSOFT / AUGUST / FREENET1 / !FreeNet / Docs / Tuning < prev   
Text File  |  1996-02-18  |  10KB  |  290 lines

  1.                     Tuning the FreeNet TCP/IP Stack
  2.  
  3.                           (C) Tom Hughes 1995
  4.  
  5. 0. Copyright
  6.  
  7.   The FreeNet module and application and the tools and documentation
  8.   that go with them are all copyright. They are however released as
  9.   freeware subject to certain terms and conditions. These are described
  10.   in the file named 'Licence' which should have accompanied this
  11.   document.
  12.  
  13. 1. Overview
  14.  
  15.   The FreeNet TCP/IP stack has a number of low-level configuration options
  16.   which allow the behaviour of the stack to be tweaked in various ways.
  17.   
  18.   Most of these will not be of interest to most users, as the stack comes
  19.   with the options preset to values which are sensible for most purposes,
  20.   but for those who may need to fiddle with these things, this document
  21.   describes the available options.
  22.   
  23.   The options are all held in the file !FreeUser.Files.Config, where each
  24.   line is divided into three parts. The first part is the 'class' of the
  25.   option, and is used to group related options. The second is the option
  26.   name within the class, and the third is the value to set the option to.
  27.   
  28. 2. The Options
  29.  
  30.   This section lists each of the available options. The name of each option
  31.   is given along with the type of argument it takes, default value for the
  32.   option, and a description of it's effects. Options described as boolean
  33.   options take either 'yes', 'on' or 'true' as a true value, and anything
  34.   else as being false.
  35.   
  36.     Option:      arp timeout
  37.     Type:        Numeric
  38.     Units:       Minutes
  39.     Default:     20
  40.     Description: The length of time that an ARP entry will be cached
  41.                  for. After this expires, a new ARP lookup will be done
  42.                  next time the address is needed.
  43.   
  44.     Option:      route timeout
  45.     Type:        Numeric
  46.     Units:       Minutes
  47.     Default:     10
  48.     Description: The length of time that an routing table entry that
  49.                  is created dynamically (by a redirect or cloning) will
  50.                  stay in existence after the last user of the route has
  51.                  released it.
  52.  
  53.     Option:      ip forwarding
  54.     Type:        Boolean
  55.     Default:     Off
  56.     Description: Controls whether FreeNet will act as a router and
  57.                  forward packets arriving on one interface to other
  58.                  attached networks where necessary.
  59.   
  60.     Option:      ip sendredirects
  61.     Type:        Boolean
  62.     Default:     Off
  63.     Description: Controls whether FreeNet will send an ICMP redirect
  64.                  message when it forwards a packet via the same interface
  65.                  it arrived on.
  66.  
  67.     Option:      ip directedbroadcast
  68.     Type:        Boolean
  69.     Default:     Off
  70.     Description: Controls whether FreeNet will act upon directed
  71.                  broadcasts targeted at attached networks.
  72.   
  73.     Option:      ip localsubnets
  74.     Type:        Boolean
  75.     Default:     Off
  76.     Description: Controls whether all subnets of a directly connected
  77.                  net are considered local, or only the directly connected
  78.                  subnet itself.
  79.   
  80.     Option:      ip firewall
  81.     Type:        Boolean
  82.     Default:     Off
  83.     Description: Controls whether packets are passed throught the built
  84.                  in firewall or not. The firewall is configured with the
  85.                  ipfw command.
  86.   
  87.     Option:      ip masquerading
  88.     Type:        Boolean
  89.     Default:     Off
  90.     Description: Controls whether the stack will masquerade for other
  91.                  hosts or not. Masquerading is configured using the
  92.                  ipfw command.
  93.  
  94.     Option:      ip ttl
  95.     Type:        Numeric
  96.     Default:     64
  97.     Description: The default TTL for IP datagrams whose TTL is not set
  98.                  more explicitly. This is always overidden for UDP and
  99.                  TCP packets.
  100.   
  101.     Option:      tcp ttl
  102.     Type:        Numeric
  103.     Default:     60
  104.     Description: The default TTL for TCP datagrams whose TTL is not set
  105.                  more explicitly.
  106.   
  107.     Option:      tcp minrto
  108.     Type:        Numeric
  109.     Units:       Centiseconds
  110.     Default:     20
  111.     Description: The minimum value for a TCP retransmission timeout. The
  112.                  stack will always wait this long before retransmitting
  113.                  a TCP segment.
  114.   
  115.     Option:      tcp maxrto
  116.     Type:        Numeric
  117.     Units:       Centiseconds
  118.     Default:     6000
  119.     Description: The maximum value for a TCP retransmission timeout. The
  120.                  stack will never wait any longer than this before
  121.                  retransmitting a TCP segment.
  122.   
  123.     Option:      tcp minmss
  124.     Type:        Numeric
  125.     Units:       Bytes
  126.     Default:     32
  127.     Description: The minimum MSS value for a TCP connection.
  128.   
  129.     Option:      tcp maxmss
  130.     Type:        Numeric
  131.     Units:       Bytes
  132.     Default:     65495
  133.     Description: The maximum MSS value for a TCP connection.
  134.   
  135.     Option:      tcp defaultmss
  136.     Type:        Numeric
  137.     Units:       Bytes
  138.     Default:     536
  139.     Description: The default MSS value for a TCP connection that is
  140.                  not considered to be a local connection.
  141.     
  142.     Option:      tcp timeout
  143.     Type:        Numeric
  144.     Units:       Seconds
  145.     Default:     75
  146.     Description: The length of time before a TCP connection attempt will
  147.                  timeout and report a failure.
  148.     
  149.     Option:      tcp keeptimeout
  150.     Type:        Numeric
  151.     Units:       Minutes
  152.     Default:     120
  153.     Description: The frequency with which keepalive probes are sent on
  154.                  those TCP connections which have them enabled. Only when
  155.                  the connection has received no data for this length of
  156.                  time will it start to actively check if it is still
  157.                  alive.
  158.     
  159.     Option:      tcp keepinterval
  160.     Type:        Numeric
  161.     Units:       Seconds
  162.     Default:     75
  163.     Description: The length of time between succesive probes when trying
  164.                  to check if a TCP connection is still alive.
  165.     
  166.     Option:      tcp idletimeout
  167.     Type:        Numeric
  168.     Units:     Seconds
  169.     Default:     600
  170.     Description: The length of time that TCP will probe a connection for
  171.                  when the keepalive timer expires.
  172.  
  173.     Option:      tcp sendbuf
  174.     Type:        Numeric
  175.     Units:       Bytes
  176.     Default:     4096
  177.     Description: The default size of the send buffer for a TCP connection.
  178.   
  179.     Option:      tcp receivebuf
  180.     Type:        Numeric
  181.     Units:       Bytes
  182.     Default:     4096
  183.     Description: The default size of the receive buffer for a TCP
  184.                  connection.
  185.   
  186.     Option:      udp ttl
  187.     Type:        Numeric
  188.     Default:     60
  189.     Description: The default TTL for UDP datagrams whose TTL is not set
  190.                  more explicitly.
  191.   
  192.     Option:      udp sendbuf
  193.     Type:        Numeric
  194.     Units:       Bytes
  195.     Default:     8192
  196.     Description: The default size of the send buffer for a UDP socket, and
  197.                  the maximum size of packet that may be transmitted via a
  198.                  UDP socket.
  199.   
  200.     Option:      udp receivebuf
  201.     Type:        Numeric
  202.     Units:       Bytes
  203.     Default:     20480
  204.     Description: The default size of the receive buffer for a UDP
  205.                  socket.
  206.   
  207.     Option:      buffers small
  208.     Type:        Numeric
  209.     Default:     128
  210.     Description: The number of small buffers in the buffer pool. These
  211.                  buffers can hold up to 112 bytes of data.
  212.   
  213.     Option:      buffers large
  214.     Type:        Numeric
  215.     Default:     64
  216.     Description: The number of large buffers in the buffer pool. These
  217.                  buffers can hold up to 1500 bytes of data.
  218.    
  219.     Option:      bsd version
  220.     Type:        Numeric
  221.     Default:     44
  222.     Description: The version of BSD which the FreeNet sockets interface
  223.                  conforms to. The value given is multiplied by ten, so 44
  224.                  is BSD 4.4, 43 is BSD 4.3 and so on.
  225.  
  226.     Option:      trace file
  227.     Type:        Filename
  228.     Default:     <FreeUser$Dir>.Trace
  229.     Description: The location of the file used to write packet traces when
  230.                  tracing is enabled for an interface.
  231.   
  232.     Option:      debug file
  233.     Type:        Filename
  234.     Default:     <FreeUser$Dir>.Debug
  235.     Description: The file used to write debugging data. This option is
  236.                  only really of use to developers of the stack who have
  237.                  added code to write debugging information to the file.
  238.   
  239.     Option:      debug state
  240.     Type:        Boolean
  241.     Default:     Off
  242.     Description: Controls whether debugging information is currently
  243.                  being written to the debugging file or not.
  244.   
  245.     Option:      log file
  246.     Type:        Filename
  247.     Default:     <FreeUser$Dir>.LogFile
  248.     Description: The file used to write log messages while the stack is
  249.                  running.
  250.   
  251.     Option:      log level
  252.     Type:        log level (info, warning or error)
  253.     Default:     error
  254.     Description: Controls which logging message will be recorded in the
  255.                  log file.
  256.  
  257. 3. Changing Options on a Running Stack
  258.  
  259.   Some of the above options may be changed while the stack is running by
  260.   using the NetConf command, whose syntax is as follows:
  261.   
  262.      NetConf <class> <option> [<value>]
  263.      
  264.   If you don't specify a value, the options current value will be shown,
  265.   otherwise a new value will be set.
  266.  
  267. 4. Support for Interface Aliases
  268.  
  269.   In certain circumstances, it is useful to be able to give one hardware
  270.   interface multiple addresses - this is typically done where several 
  271.   subnets coexist on the same physical cable.
  272.  
  273.   FreeNet supports this by using the ifconfig command to add additional
  274.   addresses for an interface:
  275.  
  276.      ifconfig <interface> alias inet <address> [<remote-address>]
  277.               [netmask <netmask>] [broadcast <address>]
  278.  
  279.   An interface alias can also be removed using the ifconfig command:
  280.  
  281.      ifconfig <interface> -alias inet <address>
  282.  
  283.   As an example, consider the commands to configure an ethernet interface
  284.   with the addresses 10.1.0.1 and 10.2.0.1, with netmask 0xffff0000:
  285.  
  286.      ifconfig eb0 inet 10.1.0.1 netmask 0xffff0000
  287.      ifconfig eb0 alias inet 10.2.0.1 netmask 0xffff0000
  288.  
  289. $Id: Tuning,v 1.1.2.3 1996/02/18 23:27:50 tom Exp $
  290.